Build a weather application that fetches weather data from an Application Programming Interface (API) and displays it to the user. To begin with, design a basic user interface using HTML and CSS. Then, use JavaScript to make an API request and dynamically update the weather information based on the user’s location or a selected city. Additionally, one can include features such as displaying current weather conditions, temperature, humidity, and a five-day forecast.